package CapaDatos;

import Excepciones.TiempoInvalidoException;

public class Horario
{
    private Hora inicio;
    private Hora fin;

    // <editor-fold defaultstate="collapsed" desc="Constructores">
    public Horario()
    {
        this.inicio = new Hora();
        this.fin    = new Hora();
        this.inicio.clear();
        this.fin.clear();
    }

    public Horario (Hora inicio, Hora fin) throws TiempoInvalidoException
    {
        if (inicio.after(fin))
        {
            throw new TiempoInvalidoException("La hora incicial está después de la hora final");
        }
        else
        {
            this.inicio = inicio;
            this.fin    = fin;
        }
    }

    public Horario (String horaIni, String horaFin) throws TiempoInvalidoException
    {
        this.inicio = new Hora(horaIni);
        this.fin    = new Hora(horaFin);

        if (inicio.after(fin))
            throw new TiempoInvalidoException("La hora incicial está después de la hora final");
    }

    public Horario (String horario)
    {
        String horas[] = horario.split("-");
        this.inicio = new Hora(horas[0]);
        this.fin    = new Hora(horas[1]);
    }
    // </editor-fold>

    // <editor-fold defaultstate="collapsed" desc="Getters y Setters">
    public Hora getFin() {
        return fin;
    }

    public void setFin(Hora fin) {
        this.fin = fin;
    }

    public Hora getInicio() {
        return inicio;
    }

    public void setInicio(Hora inicio) {
        this.inicio = inicio;
    }
    // </editor-fold>

    // <editor-fold defaultstate="collapsed" desc="toString">
    @Override public String toString() {
        return (inicio.toString() + "-" + fin.toString());
    }
    // </editor-fold>
}